﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using EFCoreIdentitySample.Repository;
using EFCoreIdentitySample.Repository.Models;

namespace EFCoreIdentitySample
{
    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args)
                .MigrateDbContext<ApplicationDbContext>((ctx, services) =>
                {
                    new ApplicationDbContextSeed().SeedAsync(ctx,services)
                    .Wait();
                })
                .Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration(options =>
            {
                options.AddJsonFile("appsettings.json", false, true);
                options.AddCommandLine(args);
            })
                .UseStartup<Startup>()
                .Build();
    }
}
 